@@ -26,6 +26,7 @@ from utils.page_utils import pagination  | 
            ||
| 26 | 26 | 
                from utils.redis.rgroup import get_group_info, get_group_users_info, set_group_info, set_group_users_info  | 
            
| 27 | 27 | 
                from utils.redis.rkeys import GROUP_LAST_PHOTO_PK, TODAY_INCOME, TODAY_UPLOAD_PHOTO_AMOUNT, WEEK_INCOME, WEEK_SOLD  | 
            
| 28 | 28 | 
                from utils.redis.rorder import set_lensman_order_record  | 
            
| 29 | 
                +from utils.redis.rprice import set_lensman_price_fixed  | 
            |
| 29 | 30 | 
                from utils.thumbnail_utils import make_thumbnail  | 
            
| 30 | 31 | 
                from utils.watermark_utils import watermark_wrap  | 
            
| 31 | 32 | 
                 | 
            
                @@ -144,6 +145,8 @@ def lensman_price_fix_api(request):  | 
            ||
| 144 | 145 | 
                lensman.origin = origin  | 
            
| 145 | 146 | 
                lensman.save()  | 
            
| 146 | 147 | 
                 | 
            
| 148 | 
                + set_lensman_price_fixed(lensman_id)  | 
            |
| 149 | 
                +  | 
            |
| 147 | 150 | 
                return response(200, 'Lensman Price Fix Success', u'摄影师定价修改成功')  | 
            
| 148 | 151 | 
                 | 
            
| 149 | 152 | 
                 | 
            
                @@ -32,6 +32,7 @@ from utils.redis.rkeys import (GROUP_LAST_PHOTO_PK, GROUP_PHOTO_WATCHER_SET, GRO  | 
            ||
| 32 | 32 | 
                GROUP_USERS_DELETED_SET, GROUP_USERS_PASSED_SET, GROUP_USERS_QUIT_SET,  | 
            
| 33 | 33 | 
                GROUP_USERS_REFUSED_SET, LENSMAN_PHOTO_HAGGLE_TIMES, LENSMAN_PHOTO_PRICE)  | 
            
| 34 | 34 | 
                from utils.redis.rorder import get_lensman_order_record  | 
            
| 35 | 
                +from utils.redis.rprice import get_lensman_price_fixed  | 
            |
| 35 | 36 | 
                from utils.sql.raw import PAI2_HOME_API  | 
            
| 36 | 37 | 
                from utils.thumbnail_utils import make_thumbnail  | 
            
| 37 | 38 | 
                from utils.time_utils import origin_expired_stamps  | 
            
                @@ -963,9 +964,13 @@ def lensman_photo_price(request):  | 
            ||
| 963 | 964 | 
                price -= random.choice([50, 100])  | 
            
| 964 | 965 | 
                r.incr(lensman_photo_haggle_times_key)  | 
            
| 965 | 966 | 
                else:  | 
            
| 967 | 
                + try:  | 
            |
| 968 | 
                + group_photo = GroupPhotoInfo.objects.get(pk=photo_id)  | 
            |
| 969 | 
                + except GroupPhotoInfo.DoesNotExist:  | 
            |
| 970 | 
                + return response(GroupPhotoStatusCode.GROUP_PHOTO_NOT_FOUND)  | 
            |
| 966 | 971 | 
                # 获取摄影师定价  | 
            
| 967 | 
                - # TODO, 此处需要完整的摄影师定价  | 
            |
| 968 | 
                - price = 999 if photo_type == 'origin' else 299  | 
            |
| 972 | 
                + price_fixed = get_lensman_price_fixed(group_photo.user_id)  | 
            |
| 973 | 
                + price = price_fixed.get(photo_type, 999)  | 
            |
| 969 | 974 | 
                 | 
            
| 970 | 975 | 
                r.set(lensman_photo_price_key, price)  | 
            
| 971 | 976 | 
                 | 
            
                @@ -40,6 +40,9 @@ TODAY_UPLOAD_PHOTO_AMOUNT = 'today:upload:photo:amount:%s:%s' # STRING,日上  | 
            ||
| 40 | 40 | 
                # 售出  | 
            
| 41 | 41 | 
                WEEK_SOLD = 'week:sold:%s:%s:%s' # STRING,周售出,photo_type、user_id、Week.thisweek().isoformat()  | 
            
| 42 | 42 | 
                 | 
            
| 43 | 
                +# 摄影师定价相关  | 
            |
| 44 | 
                +LENSMAN_PHOTO_PRICE_FIXED = 'lensman:photo:price:fixed:%s' # STRING,摄影师照片定价(单位:分),user_id  | 
            |
| 45 | 
                +  | 
            |
| 43 | 46 | 
                # 系统消息相关  | 
            
| 44 | 47 | 
                SYSTEM_MESSAGE_READ_INFO = 'system:message:read:info:%s' # STRING,系统消息读取信息,user_id  | 
            
| 45 | 48 | 
                SYSTEM_MESSAGE_DELETED_INFO = 'system:message:deleted:info:%s' # STRING,系统消息删除信息,user_id  | 
            
                @@ -0,0 +1,36 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +import json  | 
            |
| 4 | 
                +  | 
            |
| 5 | 
                +from django.conf import settings  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +from account.models import LensmanInfo  | 
            |
| 8 | 
                +from utils.redis.rkeys import LENSMAN_PHOTO_PRICE_FIXED  | 
            |
| 9 | 
                +  | 
            |
| 10 | 
                +  | 
            |
| 11 | 
                +r = settings.REDIS_CACHE  | 
            |
| 12 | 
                +  | 
            |
| 13 | 
                +  | 
            |
| 14 | 
                +# 最新 APP 相关  | 
            |
| 15 | 
                +  | 
            |
| 16 | 
                +  | 
            |
| 17 | 
                +def set_lensman_price_fixed(user_id):  | 
            |
| 18 | 
                + """ 设置摄影师价格设定 """  | 
            |
| 19 | 
                + try:  | 
            |
| 20 | 
                + lensman = LensmanInfo.objects.get(lensman_id=user_id)  | 
            |
| 21 | 
                + except LensmanInfo.DoesNotExist:  | 
            |
| 22 | 
                + lensman = None  | 
            |
| 23 | 
                +  | 
            |
| 24 | 
                +    price_fixed = {
               | 
            |
| 25 | 
                + 'nomark': (lensman and lensman.nomark) or 299,  | 
            |
| 26 | 
                + 'origin': (lensman and lensman.origin) or 999,  | 
            |
| 27 | 
                + }  | 
            |
| 28 | 
                +  | 
            |
| 29 | 
                + r.set(LENSMAN_PHOTO_PRICE_FIXED % user_id, json.dumps(price_fixed))  | 
            |
| 30 | 
                +  | 
            |
| 31 | 
                + return price_fixed  | 
            |
| 32 | 
                +  | 
            |
| 33 | 
                +  | 
            |
| 34 | 
                +def get_lensman_price_fixed(user_id):  | 
            |
| 35 | 
                + """ 获取摄影师价格设定 """  | 
            |
| 36 | 
                +    return json.loads(r.get(LENSMAN_PHOTO_PRICE_FIXED % user_id) or '{}') or set_lensman_price_fixed(user_id)
               |